今天來聊聊Scala的套件(package)
想像在寫大型程式,我們會希望能降低不同區塊的程式彼此間的依賴程度,也就是說減少耦合(coupling)。程式之間的依賴程度越大,改動程式時所帶來的風險也就越高,有時更動某個無害的程式區塊可能就會造成嚴重的後果。
其中一個減少耦合的方式是以模組化的風格來寫我們的程式,將程式切割成多個較小的模組,而每個模組又分為內部和外部。當我們在處理內部模組(實作部分)時只需要跟其他處理相同區塊的人合作,而當我們處理外部模組(介面部分)時才有需要跟處理其他區塊的開發者合作。
這邊會提到一些能幫助我們以模組化風格開發程式的方法:
在Scala有兩種方式可以做到
第一種是在file頂部寫一個package然後把整個file的內容丟到裡面
package project.beginner
class Beginner
package子句把beginner類別放入名為project.beginner
的套件裡
第二種方式稱為packaging,在package後把程式碼丟進中括號裡
package project.beginner {
class Beginner
}
這個方法其實跟上面那個一樣,不過它可以讓我們在一個file裡包含多個套件的內容
package project {
package beginner {
class Beginner
package test {
class Beginner2
}
}
}